package com.qk.management.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.qk.common.PageResult;
import com.qk.domain.clue.ClueDO;
import com.qk.domain.clue.CluePoolDO;
import com.qk.dto.clue.ClueConvertToFalseClueDTO;
import com.qk.dto.clue.ClueFollowUpDTO;
import com.qk.dto.clue.ClueInsertDTO;
import com.qk.dto.clue.CluePageDTO;
import com.qk.entity.Clue;
import com.qk.vo.clue.ClueByIdVO;

/**
 * @author 上官徵羽
 * @version 1.0
 * @since 2025-10-12 21:55
 */
public interface ClueService extends IService<Clue> {
    PageResult<ClueDO> listPage(CluePageDTO cluePageDTO);

    void save(ClueInsertDTO clueInsertDTO);

    void assignLeads(Integer clueId, Integer userId);

    ClueByIdVO getClueById(Integer id);

    void clueFollowUpUpdateAndInsertById(ClueFollowUpDTO clueFollowUpDTO);

    void clueConvertToBusiness(Integer id);

    void clueConvertToFalseClue(Integer id, ClueConvertToFalseClueDTO clueConvertToFalseClueDTO);

    PageResult<CluePoolDO> getCluePool(CluePageDTO cluePageDTO);
}
